package com.education.welco.service.impl;


import com.education.common.utils.Convert;
import com.education.welco.mapper.SCatalogMenuMapper;
import com.education.welco.pojo.SCatalogMenu;
import com.education.welco.pojo.vo.SCatalogMenuVo;
import com.education.welco.service.ISCatalogMenuService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;
import java.util.Map;

/**
 * 教师私有备课目录 服务层实现
 *
 * @author d
 * @date 2020-05-08
 */
@Service
public class SCatalogMenuServiceImpl implements ISCatalogMenuService {

    @Autowired
    private SCatalogMenuMapper sCatalogMenuMapper;

    @Override
    public SCatalogMenu findByCatalogMenuId(Integer catalogMenuId) {
        return sCatalogMenuMapper.findByCatalogMenuId(catalogMenuId);
    }

    @Override
    public List<SCatalogMenu> findByParentId(Integer parentId) {
        return sCatalogMenuMapper.findByParentId(parentId);
    }


    /**
     * 查询教师私有备课目录信息 根据父级id
     *
     * @param parentId 教师私有备课目录ID
     * @return 教师私有备课目录信息
     */
    @Override
    public List<SCatalogMenu> selectSCatalogMenuByParentId(Integer parentId) {
        return sCatalogMenuMapper.selectSCatalogMenuByParentId(parentId);
    }

    @Override
    public List<SCatalogMenuVo> selectSCatalogMenuByParentId1(Integer parentId) {
        return sCatalogMenuMapper.selectSCatalogMenuByParentId1(parentId);
    }

    /**
     * 查询教师私有备课目录信息 根据父级id
     *
     * @param parentId 教师私有备课目录ID
     * @return 教师私有备课目录信息
     */
    @Override
    public List<SCatalogMenu> selectSCatalogMenuByParentId3(Integer parentId) {
        return sCatalogMenuMapper.selectSCatalogMenuByParentId3(parentId);
    }

    /**
     * 查询教师私有备课目录信息 根据父级id
     *
     * @param parentId 教师私有备课目录ID
     * @return 教师私有备课目录信息
     */
    @Override
    public List<SCatalogMenu> selectSCatalogMenuByParentId2(Integer parentId) {
        return sCatalogMenuMapper.selectSCatalogMenuByParentId2(parentId);
    }

    /**
     * 统计总和
     *
     * @param userId 教师私有备课目录ID
     * @return 教师私有备课目录信息
     */
    @Override
    public Integer selectSCatalogMenuCount(Integer userId) {
        return sCatalogMenuMapper.selectSCatalogMenuCount(userId);
    }

    /**
     * 查询教师私有备课目录信息
     *
     * @param id 教师私有备课目录ID
     * @return 教师私有备课目录信息
     */
    @Override
    public SCatalogMenu selectSCatalogMenuById(Integer id) {
        return sCatalogMenuMapper.selectSCatalogMenuById(id);
    }

    /**
     * 查询教师私有备课目录列表
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 教师私有备课目录集合
     */
    @Override
    public SCatalogMenu selectSCatalogMenuList2(SCatalogMenu sCatalogMenu) {
        return sCatalogMenuMapper.selectSCatalogMenuList2(sCatalogMenu);
    }

    @Override
    public SCatalogMenuVo selectSCatalogMenuList22(SCatalogMenu sCatalogMenu) {
        return sCatalogMenuMapper.selectSCatalogMenuList22(sCatalogMenu);
    }

    /**
     * 查询教师私有备课目录列表
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 教师私有备课目录集合
     */
    @Override
    public List<SCatalogMenu> selectSCatalogMenuList6(SCatalogMenu sCatalogMenu) {
        return sCatalogMenuMapper.selectSCatalogMenuList6(sCatalogMenu);
    }

    /**
     * 查询教师私有备课目录列表
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 教师私有备课目录集合
     */
    @Override
    public List<SCatalogMenu> selectSCatalogMenuListTwo(SCatalogMenu sCatalogMenu) {
        return sCatalogMenuMapper.selectSCatalogMenuListTwo(sCatalogMenu);
    }

    /**
     * 查询教师私有备课目录列表
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 教师私有备课目录集合
     */
    @Override
    public List<SCatalogMenu> selectSCatalogMenuList(SCatalogMenu sCatalogMenu) {
        return sCatalogMenuMapper.selectSCatalogMenuList(sCatalogMenu);
    }

    /**
     * 新增教师私有备课目录
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 结果
     */
    @Override
    public int insertSCatalogMenu(SCatalogMenu sCatalogMenu) {
        return sCatalogMenuMapper.insertSCatalogMenu(sCatalogMenu);
    }

    @Override
    public int deleteSCatalogMenuById(Integer id) {
        return sCatalogMenuMapper.deleteSCatalogMenuById(id);
    }

    /**
     * 修改教师私有备课目录
     *
     * @param sCatalogMenu 教师私有备课目录信息
     * @return 结果
     */
    @Override
    public int updateSCatalogMenu(SCatalogMenu sCatalogMenu) {
        return sCatalogMenuMapper.updateSCatalogMenu(sCatalogMenu);
    }

    /**
     * 删除教师私有备课目录对象
     *
     * @param ids 需要删除的数据ID
     * @return 结果
     */
    @Override
    public int deleteSCatalogMenuByIds(String ids) {
        return sCatalogMenuMapper.deleteSCatalogMenuByIds(Convert.toStrArray(ids));
    }

    @Override
    public Map<String, Object> selectNameById(Integer catalogId) {
        return sCatalogMenuMapper.selectNameById(catalogId);
    }
}